// tabs数据
const tabs = [{
    name: '热映',
    type: 'hot'
  },
  {
    name: '待映',
    type: 'plan'
  }
]

Page({
  // 初始化默认数据
  data: {
    // tabs数据
    tabs: tabs,
    // 当前点击激活的tab
    active: 'plan',
    // 热门电影数据
    hotList: [],
    // 待映列表
    planList: {}
  },
  // 切换tab页=>事件处理函数
  switchTab(e) {
    console.log(e.target.dataset)
    // 当前点击谁？=》active
    // 改变tab页状态
    this.setData({
      active: e.target.dataset.type
    })
  },
  // 获取热门电影列表数据=>vue=>created
  onLoad() {
    console.log('onload:', this)
    // const that = this;
    // 获取热映列表
    this.getHot()
    // 获取待映列表
    this.getPlan()
  },
  // 获取待映列表
  getPlan() {
    wx.request({
      url: 'https://wx.maoyan.com/mmdb/movie/v1/list/wish/order/coming.json',
      data: {
        ci: 1,
        limit: 10,
        offset: 0
      },
      success: (res) => {
        const {
          statusCode,
          data: {
            data
          }
        } = res
        console.log('待映列表：', data)
        if (statusCode === 200) {
          // 排序=》升序（正序）
          data.coming.sort((p, n) => p.pubDate - n.pubDate)
          // 倒序
          // data.coming.sort((p, n) => n.pubDate - p.pubDate)

          // 设计数据结构=》目的：同一天放映的电影放一块
          // {'7月1日':[],'7月2日':[]}
          console.log('归类数据：', this.excueFilm(data.coming))
          this.setData({
            planList: this.excueFilm(data.coming)
          })
        }
      }
    })
  },
  // 小归类算法
  excueFilm(data) {
    const cateFilm = {}
    // 按日期归类电影
    data.forEach((item) => {
      // 处理图片
      item.img = item.img.replace('w.h', '128.180')
      // 获取归类的类别（key）
      let key = item.comingTitle
      if (!cateFilm[key]) {
        //  不存在这个日期
        cateFilm[key] = [item]
      } else {
        // 存在这个日期
        cateFilm[key].push(item)
      }
    })
    return cateFilm
  },
  // 获取热映列表
  getHot() {
    wx.request({
      url: 'https://wx.maoyan.com/mmdb/movie/v2/list/hot.json',
      data: {
        limit: 12,
        offset: 0,
        ct: "北京"
      },
      // 尖头函数=》书写时就确定了this=》上层环境的this
      success: (res) => {
        console.log('获取热门电影：', res, this)
        const {
          statusCode,
          data: {
            data
          }
        } = res
        console.log(statusCode, data)
        // 处理图片
        data.hot.forEach((item) => {
          item.img = item.img.replace('w.h', '128.180')
        })
        // 响应式
        this.setData({
          hotList: data.hot
        })
      }
    })
  }
})